package com.neouton.feginClient;

import com.neouton.common.entity.FeeMainVO;
import com.neouton.common.util.ResponseAPI;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;

import java.util.List;

@FeignClient(url = "${reimburse.server}", name = "reimburse")
public interface ReimburseService {
    /**
     * 根据机会id，查询报销单号等基础数据
     * @param vo
     * @return
     */
    @PostMapping("/feeMain/queryReimburseListByChanceId")
    public ResponseAPI<List<FeeMainVO>> queryReimburseListByChanceId(@RequestBody FeeMainVO vo, @RequestHeader("token") String token);

    /**
     * 机会费用迁移时根据机会id，反填项目id；仅反填项目id，原机会名称、客户名称都保持不变，依然是机会对应的主题和客户
     * @param vo
     * @return
     */
    @PostMapping("/feeMain/updateProjectIdByChanceId")
    public ResponseAPI updateProjectIdByChanceId(@RequestBody FeeMainVO vo, @RequestHeader("token") String token);

    /**
     * 根据项目id，状态；查询报销单号等基础数据
     * @param vo
     * @return
     */
    @PostMapping("/feeMain/queryReimburseList")
    public ResponseAPI queryReimburseList(@RequestBody FeeMainVO vo, @RequestHeader("token") String token);


    /**
     * 根据项目id，状态；查询报销单号等基础数据
     * @param vo
     * @return
     */
    @PostMapping("/feeMain/queryReimburseListByProjectIdListOrChanceIdList")
    public ResponseAPI queryReimburseListByProjectIdListOrChanceIdList(@RequestBody FeeMainVO vo, @RequestHeader("token") String token);
}
